// 引入工具类
const { userStore, favoritesStore, historyStore } = require('../../utils/store')

Page({
  data: {
    userInfo: {
      isLoggedIn: false,
      nickname: '',
      avatar: 'images/NY_RectangularFavicon.png',
      description: '',
      username: '',
      permissions: []
    },
    favoriteCount: 0,
    historyCount: 0,
    notificationCount: 0
  },

  onLoad() {
    console.log('用户页面加载')
    this.loadUserInfo()
    this.loadCounts()
  },

  onShow() {
    console.log('用户页面显示')
    // 每次显示时刷新数据
    this.loadUserInfo()
    this.loadCounts()
  },

  // 加载用户信息
  loadUserInfo() {
    const userInfo = userStore.getUserInfo()
    console.log('用户页面 - 获取用户信息:', userInfo)
    console.log('用户页面 - 登录状态:', userInfo.isLoggedIn)
    console.log('用户页面 - 用户昵称:', userInfo.nickname)

    this.setData({
      userInfo: userInfo
    })

    console.log('用户页面 - 页面数据已更新:', this.data.userInfo)
  },

  // 加载统计数据
  loadCounts() {
    const favoriteCount = favoritesStore.getFavoriteCount()
    const historyCount = historyStore.getHistoryCount()

    this.setData({
      favoriteCount: favoriteCount > 0 ? favoriteCount : '',
      historyCount: historyCount > 0 ? historyCount : '',
      notificationCount: '' // 暂时没有通知功能
    })
  },

  // 跳转到登录页面
  goToLogin() {
    wx.navigateTo({
      url: '/pages/login/login'
    })
  },

  // 处理登出
  handleLogout() {
    const that = this
    wx.showModal({
      title: '确认退出',
      content: '确定要退出当前账号吗？',
      success(res) {
        if (res.confirm) {
          console.log('用户确认退出登录')

          // 执行登出操作
          userStore.logout()

          // 重新加载用户信息
          that.loadUserInfo()

          // 重新加载统计数据
          that.loadCounts()

          wx.showToast({
            title: '已退出登录',
            icon: 'success'
          })

          console.log('退出登录完成')
        }
      }
    })
  },

  // 跳转到收藏页面
  goToFavorites() {
    wx.navigateTo({
      url: '/pages/favorites/favorites'
    })
  },

  // 跳转到历史页面
  goToHistory() {
    wx.navigateTo({
      url: '/pages/history/history'
    })
  },

  // 跳转到通知页面
  goToNotifications() {
    wx.navigateTo({
      url: '/pages/notifications/notifications'
    })
  },

  // 跳转到设置页面
  goToSettings() {
    wx.navigateTo({
      url: '/pages/user/settings'
    })
  },

  // 跳转到关于页面
  goToAbout() {
    wx.navigateTo({
      url: '/pages/user/about'
    })
  },

  // 跳转到反馈页面
  goToFeedback() {
    wx.navigateTo({
      url: '/pages/user/feedback'
    })
  }
})
